package com.ruoyi.admin.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.admin.mapper.ZhxBookMapper;
import com.ruoyi.admin.domain.ZhxBook;
import com.ruoyi.admin.service.IZhxBookService;

/**
 * 作品管理Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-11-11
 */
@Service
public class ZhxBookServiceImpl implements IZhxBookService 
{
    @Autowired
    private ZhxBookMapper zhxBookMapper;

    /**
     * 查询作品管理
     * 
     * @param bookId 作品管理主键
     * @return 作品管理
     */
    @Override
    public ZhxBook selectZhxBookByBookId(Long bookId)
    {
        return zhxBookMapper.selectZhxBookByBookId(bookId);
    }

    /**
     * 查询作品管理列表
     * 
     * @param zhxBook 作品管理
     * @return 作品管理
     */
    @Override
    public List<ZhxBook> selectZhxBookList(ZhxBook zhxBook)
    {
        return zhxBookMapper.selectZhxBookList(zhxBook);
    }

    /**
     * 查询作品管理列表
     * 根据人气值(popularity)从高到低排序
     * @param zhxBook 作品管理
     * @return 作品管理
     */
    @Override
    public List<ZhxBook> selectZhxBookListByPopularity(ZhxBook zhxBook)
    {
        return zhxBookMapper.selectZhxBookListByPopularity(zhxBook);
    }

    /**
     * 新增作品管理
     * 
     * @param zhxBook 作品管理
     * @return 结果
     */
    @Override
    public int insertZhxBook(ZhxBook zhxBook)
    {
        zhxBook.setCreateTime(DateUtils.getNowDate());
        return zhxBookMapper.insertZhxBook(zhxBook);
    }

    /**
     * 修改作品管理
     * 
     * @param zhxBook 作品管理
     * @return 结果
     */
    @Override
    public int updateZhxBook(ZhxBook zhxBook)
    {
        zhxBook.setUpdateTime(DateUtils.getNowDate());
        return zhxBookMapper.updateZhxBook(zhxBook);
    }

    /**
     * 批量删除作品管理
     * 
     * @param bookIds 需要删除的作品管理主键
     * @return 结果
     */
    @Override
    public int deleteZhxBookByBookIds(Long[] bookIds)
    {
        return zhxBookMapper.deleteZhxBookByBookIds(bookIds);
    }

    /**
     * 删除作品管理信息
     * 
     * @param bookId 作品管理主键
     * @return 结果
     */
    @Override
    public int deleteZhxBookByBookId(Long bookId)
    {
        return zhxBookMapper.deleteZhxBookByBookId(bookId);
    }

    /**
     * 获取作品数量
     */
    @Override
    public int getBookNum() {
        return zhxBookMapper.getBookNum();
    }

    /**
     * 获取今日新增作品数量
     */
    @Override
    public int getBookNumToday() {
        return zhxBookMapper.getBookNumToday();
    }

}
